home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / chetd2.z / chetd2
Encoding:
Text File  |  2002-10-03  |  6.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))                                                          CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CHETD2 - reduce a complex Hermitian matrix A to real symmetric
  10.      tridiagonal form T by a unitary similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CHETD2( UPLO, N, A, LDA, D, E, TAU, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, LDA, N
  18.  
  19.          REAL           D( * ), E( * )
  20.  
  21.          COMPLEX        A( LDA, * ), TAU( * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      CHETD2 reduces a complex Hermitian matrix A to real symmetric tridiagonal
  38.      form T by a unitary similarity transformation: Q' * A * Q = T.
  39.  
  40.  
  41. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  42.      UPLO    (input) CHARACTER*1
  43.              Specifies whether the upper or lower triangular part of the
  44.              Hermitian matrix A is stored:
  45.              = 'U':  Upper triangular
  46.              = 'L':  Lower triangular
  47.  
  48.      N       (input) INTEGER
  49.              The order of the matrix A.  N >= 0.
  50.  
  51.      A       (input/output) COMPLEX array, dimension (LDA,N)
  52.              On entry, the Hermitian matrix A.  If UPLO = 'U', the leading n-
  53.              by-n upper triangular part of A contains the upper triangular
  54.              part of the matrix A, and the strictly lower triangular part of A
  55.              is not referenced.  If UPLO = 'L', the leading n-by-n lower
  56.              triangular part of A contains the lower triangular part of the
  57.              matrix A, and the strictly upper triangular part of A is not
  58.              referenced.  On exit, if UPLO = 'U', the diagonal and first
  59.              superdiagonal of A are overwritten by the corresponding elements
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))                                                          CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))
  71.  
  72.  
  73.  
  74.              of the tridiagonal matrix T, and the elements above the first
  75.              superdiagonal, with the array TAU, represent the unitary matrix Q
  76.              as a product of elementary reflectors; if UPLO = 'L', the
  77.              diagonal and first subdiagonal of A are over- written by the
  78.              corresponding elements of the tridiagonal matrix T, and the
  79.              elements below the first subdiagonal, with the array TAU,
  80.              represent the unitary matrix Q as a product of elementary
  81.              reflectors. See Further Details.  LDA     (input) INTEGER The
  82.              leading dimension of the array A.  LDA >= max(1,N).
  83.  
  84.      D       (output) REAL array, dimension (N)
  85.              The diagonal elements of the tridiagonal matrix T:  D(i) =
  86.              A(i,i).
  87.  
  88.      E       (output) REAL array, dimension (N-1)
  89.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  90.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  91.  
  92.      TAU     (output) COMPLEX array, dimension (N-1)
  93.              The scalar factors of the elementary reflectors (see Further
  94.              Details).
  95.  
  96.      INFO    (output) INTEGER
  97.              = 0:  successful exit
  98.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  99.  
  100. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  101.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  102.      reflectors
  103.  
  104.         Q = H(n-1) . . . H(2) H(1).
  105.  
  106.      Each H(i) has the form
  107.  
  108.         H(i) = I - tau * v * v'
  109.  
  110.      where tau is a complex scalar, and v is a complex vector with v(i+1:n) =
  111.      0 and v(i) = 1; v(1:i-1) is stored on exit in
  112.      A(1:i-1,i+1), and tau in TAU(i).
  113.  
  114.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  115.      reflectors
  116.  
  117.         Q = H(1) H(2) . . . H(n-1).
  118.  
  119.      Each H(i) has the form
  120.  
  121.         H(i) = I - tau * v * v'
  122.  
  123.      where tau is a complex scalar, and v is a complex vector with v(1:i) = 0
  124.      and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in
  125.      TAU(i).
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))                                                          CCCCHHHHEEEETTTTDDDD2222((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      The contents of A on exit are illustrated by the following examples with
  141.      n = 5:
  142.  
  143.      if UPLO = 'U':                       if UPLO = 'L':
  144.  
  145.        (  d   e   v2  v3  v4 )              (  d                  )
  146.        (      d   e   v3  v4 )              (  e   d              )
  147.        (          d   e   v4 )              (  v1  e   d          )
  148.        (              d   e  )              (  v1  v2  e   d      )
  149.        (                  d  )              (  v1  v2  v3  e   d  )
  150.  
  151.      where d and e denote diagonal and off-diagonal elements of T, and vi
  152.      denotes an element of the vector defining H(i).
  153.  
  154.  
  155. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  156.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  157.  
  158.      This man page is available only online.
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.